Sync: align ncbo/goo with the AgroPortal codebase#176
Merged
Conversation
… a value only the object with a language included in main_languages will be taken (value with no lang defined are taken too). Be careful if an ontology contains several prefLabel with lang defined here
The main_lang is the main lang used to extract prefLabels. Accepted lang is used to extract all others properties
… nil if not available
…bo_merge_goo_into_virtual-appliance-3.0-merge
…he original order
…an handle non-Latin languages
…an handle non-Latin languages
- remove custom wait logic; rely on docker compose --wait healthchecks - add linux overrides to run unit tests in a container (useful on macOS) - add no-ports override for containerized runs - update compose mounts and move backend fixtures to test/fixtures - document docker test commands and env vars
- ensure redis host is read from goo_redis (not redis) - update sample config to match
When adding rake tasks for running unit tests in linux containers, unit tests started failing due to unsafe target detection and state leakage. This refactor consolidates safety checks into TestSafety, moves test_reset into test helpers. It also adds a redis key-count guard to abort against non-test instances.
Infra/Refactor docker-based test runner and add linux container tests
This was referenced Mar 17, 2026
Sync: align ncbo/ontologies_linked_data with the AgroPortal codebase
ncbo/ontologies_linked_data#266
Draft
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR aligns the
ncbo/goorepository with the version of the codebase maintained by the AgroPortal project.The AgroPortal GOO repository originated from the same codebase as ncbo/goo, but has evolved independently over time with additional features (e.g., schemaless Solr implementation, multi-triple-store compatibility), infrastructure upgrades (e.g., Ruby 3.2 compatibility, RDF 3.x gem support implementing the RDF 1.1 spec), dependency updates, and expanded testing support.
To restore alignment across OntoPortal-based projects and simplify long-term maintenance, this PR adopts the AgroPortal-maintained version of the codebase as the new baseline. This is implemented as a full codebase replacement rather than a merge, followed by a small set of NCBO-specific adjustments applied on top.
Prerequisites
This PR depends on the following change:
The updated
goocodebase relies on the aligned version ofsparql-clientintroduced in this PR.Source baseline
The code adopted in this PR is based on:
agroportal/goo
branch: development
This branch represents the current development baseline used by the AgroPortal project.
Scope of this change
This PR replaces the existing ncbo/goo implementation with the AgroPortal-maintained version of the codebase. As a result, the diff is large and includes:
After importing the AgroPortal baseline, several NCBO-specific fixes and adjustments were applied.
Additional changes applied on top of the AgroPortal baseline
The commits following the import point (0a1c9fee157bc360cda10abb24abca71d5ec0a38) include a set of targeted fixes and adjustments discovered while running the GOO unit tests in the NCBO environment.
These changes fall into the following categories.
Re-applied NCBO functionality
Some functionality present in the original NCBO codebase was reintroduced:
:bypass_cacheoptionSearch and query fixes
Several commits address issues related to search configuration and query behavior:
text_suggest_ngramfieldtext_suggest_ngramsubmit_search_queryThese fixes improve reliability and correctness of search functionality.
Schema and RDF-related adjustments
A few commits address schema definitions and RDF-related warnings:
:urldynamic fieldalready initialized constant RDF::Literal::DateTime::FORMATstringinstead ofstring_ci)CI and testing infrastructure improvements
Multiple commits improve test stability and CI execution:
test_query_flood,test_chunks_write)Configuration and backend adjustments
Some configuration-related changes were made:
goo_redis)How to review this PR
Because this PR replaces a large portion of the repository, reviewing it line-by-line is not recommended.
Reviewers may find it easier to:
Motivation
Maintaining separate diverging versions of the goo codebase increases maintenance overhead and complicates compatibility across OntoPortal-based deployments.
By adopting the AgroPortal-maintained version of the codebase, this change: